package com.jjm.actions;

import java.util.List;
import java.util.Map;

import org.apache.struts2.interceptor.SessionAware;

import com.jjm.beans.ProvinciaDTO;
import com.jjm.entidades.Empresa;
import com.jjm.entidades.Candidato;
import com.jjm.managers.CandidatoManager;
import com.jjm.managers.EmpresasManager;
import com.jjm.utils.Utils;

public class RegistrosAction implements SessionAware
{
	public String registroEmpresa()
	{
		return "ok";
	}
	
	public String registroUsuario()
	{
		return "ok";
	}
	public String accesoUsuario()
	{
		try
		{
			if("candidato".equals(tipoUsuario))
			{
				CandidatoManager candidatoManager = new CandidatoManager();
				Candidato candidato =
					candidatoManager.login(email, pass);
				if(candidato != null)
				{
					sesion.put("candidatoId", candidato.getKey());
					return "candidato";
				}
				else
				{
					return "candidatonoautenticado";
				}
			}
			else if("empresa".equals(tipoUsuario))
			{
				//TODO: hacer el login de empresa
				EmpresasManager empManager = new EmpresasManager();
				Empresa empresa =
					empManager.login(email, pass);
				if(empresa != null)
				{
					sesion.put("empresaId", empresa.getKey());
					return "empresa";
				}
				else
				{
					return "empresanoautenticado";
				}
			}
		}
		catch(Exception e)
		{
			e.printStackTrace();
			return "errorLogin";
			
		}
		return "errorLogin";
	}
	//pruebas
	//----------
	private String email;
	private String pass;
	private String tipoUsuario;
	
	//Sesion del usuario
	Map<String, Object> sesion = null;
	
	public String getTipoUsuario() {
		return tipoUsuario;
	}

	public void setTipoUsuario(String tipoUsuario) {
		this.tipoUsuario = tipoUsuario;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getPass() {
		return pass;
	}

	public void setPass(String pass) {
		this.pass = pass;
	}

	public void setSession(Map<String, Object> arg0) {
		sesion = arg0;
	}
	
	public List<ProvinciaDTO> getProvincias()
	{
		return Utils.obtenerProvincias();
	}
}
